package im.tox.tox4j.crypto

@SuppressWarnings(Array("org.wartremover.warts.PublicInference"))
object ToxCryptoConstants {

  /**
   * Length of salt in bytes.
   */
  val SaltLength = 32

  /**
   * The number of bytes in a serialised [[ToxCrypto.PassKey]] without salt.
   * The serialised size is [[KeyLength]] + [[SaltLength]].
   */
  val KeyLength = 32

  /**
   * Number of bytes added to any encrypted data.
   */
  val EncryptionExtraLength = 80

  /**
   * The number of bytes in a hash generated by tox_hash.
   */
  val HashLength = 32

  val PublicKeyLength = 32
  val SecretKeyLength = 32
  val SharedKeyLength = 32
  val NonceLength = 24

  val ZeroBytes = 32
  val BoxZeroBytes = 16

}
